#include "Animacion.h"


cAnimacion::cAnimacion(MapaSprites animacion,deque<sAnimacionSprites> animacionPiso):spritesPiso(animacion),ordenAnimacion(animacionPiso)
{
	next_time=0;
	INTERVALO_TIEMPO=0;
	cuadro=0;
	next_time = SDL_GetTicks() + INTERVALO_TIEMPO;
	grupo_NumeroImagen="1 1";
}

cSprite cAnimacion::ImagenADibujar()
{
	return spritesPiso[grupo_NumeroImagen];
}

int cAnimacion::CorrerAnimacionActual(int numeroAnimacion)
{
	char buf[20];
    Uint32 now=SDL_GetTicks();

	if(next_time<now)
	{
		if(cuadro<ordenAnimacion[numeroAnimacion].vectorCuadrosAnimacion.size())
		{
		
			itoa(ordenAnimacion[numeroAnimacion].vectorCuadrosAnimacion[cuadro].grupo_imagen,buf,10);
			grupo_NumeroImagen=buf;
			grupo_NumeroImagen+=" ";
			itoa(ordenAnimacion[numeroAnimacion].vectorCuadrosAnimacion[cuadro].no_imagen,buf,10);
			grupo_NumeroImagen+=buf;

			INTERVALO_TIEMPO=ordenAnimacion[numeroAnimacion].vectorCuadrosAnimacion[cuadro++].tiempo;
		}
		else
		{
			cuadro=0;
			return ANIMACIONTERMINADA;
		}
		next_time =now+INTERVALO_TIEMPO;
	}
	return ANIMACIONCORRIENDO;
}



